# 进程池
# 创建 销毁 进程 开销比较大 ,费时费力

from multiprocessing import Pool
import os
import time


def f(x):
    print('-->', x, os.getpid())
    time.sleep(1)
    return x * x


if '__main__' == __name__:
    pool = Pool()
    for i in range(1, 10):
        # pool.apply(f, (1,))  # 阻塞方法 串行方式
        pool.apply_async(f, (1,))  # 异步执行 , 并行方式
    # print(res)
    # print(type(res))
    pool.close()
    pool.join()  # 异步这种方式,主进程执行完后,会关闭进程池中的进程

    # time.sleep(5)
    print('over....')
